home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d18 / intrfc4.arc / INTRFC.PAS < prev    next >
Pascal/Delphi Source File  |  1990-12-23  |  1KB  |  61 lines

  1. program intrfc;
  2. {  Prints out the information contained in a TPU file  }
  3.  
  4. uses
  5.   util,globals,objstuff,test1,hash;
  6.  
  7. var
  8.   i,j,t:word;
  9.   result : word;
  10.  
  11. begin
  12.   writeln('INTRFC version 1.1.  Written by D.J. Murdoch.');
  13.   writeln('Hit break when done.');
  14.   if paramcount > 0 then
  15.     uses_path := paramstr(1)
  16.   else
  17.     uses_path := '.\';
  18.  
  19.   if uses_path[length(uses_path)] <> '\' then
  20.     uses_path := uses_path + '\';
  21.  
  22.   tpl_size := read_file('turbo.tpl',pointer(tpl_buffer));
  23.   if tpl_buffer = nil then
  24.     tpl_size := read_file(uses_path+'turbo.tpl',pointer(tpl_buffer));
  25.   if tpl_buffer <> nil then
  26.     got_tpl := true
  27.   else
  28.   begin
  29.     got_tpl := false;
  30.     writeln('Warning:  TURBO.TPL not found.');
  31.   end;
  32.  
  33.   repeat
  34.     mark(just_tpl);
  35.     repeat
  36.       write('Enter filename (without .TPU): ');
  37.       readln(unitname);
  38.       unit_size := read_file(unitname+'.tpu',pointer(buffer));
  39.     until buffer <> nil;
  40.  
  41.     header := pointer(buffer);
  42.     heapptr := add_offset(buffer,header^.sym_size); { release all but symbols }
  43.     hash_table := add_offset(buffer,header^.ofs_hashtable);
  44.  
  45.     {Build main object list}
  46.  
  47.     build_list(obj_list,buffer,hash_table);
  48.  
  49.     new(unit_list[64]);
  50.     for i:=65 to 255 do
  51.       unit_list[i] := nil;
  52.  
  53.     unit_list[64]^.name := unitname;
  54.     unit_list[64]^.buffer := buffer;
  55.     unit_list[64]^.obj_list := obj_list;
  56.  
  57.     { Now print it }
  58.     print_obj_list;
  59.     release(just_tpl);
  60.   until false;
  61. end.